#include <iostream>
#include <string>
#include "String.h"
using namespace std;

void func(dew::String s)
{
    cout << s.c_str() << endl;
}

void test()
{
    dew::String s1;
    cin>>s1;
    cout << s1 << endl;

    // string s;
    // cin >> s;
    // cout << s << endl;

    // dew::String s1("hello world");

    // dew::String s2 = s1.substr(3,4);
    // cout << s2.c_str() << endl;
    // dew::String s3 = s1.substr(1);
    // cout << s3.c_str() << endl;

    // dew::String s1("dew");
    // dew::String s2("jcy");

    // s2 = s1;

    // // s1.swap(s2);
    // cout << s1.c_str() << endl;
    // cout << s2.c_str() << endl;

    //func(s1);

    // s1.append(" love");

    // // s1.append("hello world");
    // cout << s1.size() << endl;
    // cout << s1.capacity() << endl;
    // cout << s1.c_str() << endl;
    // dew::String s1("hello world");
    // cout << s1.size() << endl;
    // cout << s1.capacity() << endl;
    // dew::String s1;
    // s1.push_back('c');
    // cout << s1.c_str() << endl;
    // cout << s1.size() << endl;
    // cout << s1.capacity() << endl;

    // for(int i = 0; i < s1.size(); i++)
    // {
    //     cout << s1.at(i) << endl;
    // }


    // dew::String::iterator it = s1.begin();
    // while(it != s1.end())
    // {
    //     cout << *it;
    //     it++;
    // }

    // cout << endl;

    // for(auto e:s1)
    // {
    //     cout << e << " ";
    // }

    // cout << endl;

    // cout << s1.c_str() << endl;
    // cout << s1.size() << endl;
    // cout << s1.capacity() << endl;

    // for(int i = 0; i < s1.size(); i++)
    // {
    //     cout << s1[i] << endl;
    // }
    
    // dew::String s1(5,'c');
    
    // cout << s1.c_str() << endl;
    // cout << s1.size() << endl;
    // cout << s1.capacity() << endl;

    // dew::String s1;
    // cout << s1.size() << endl;
    // s1.resize(10,'c');
    
    // cout << s1.size() << endl;
    // cout << s1.c_str() << endl;
    // cout << s1.capacity() << endl;
    // cout << s1.c_str() << endl;

    // s1.reserve(500);
    // cout << s1.capacity() << endl;
    // cout << s1.c_str() << endl;  

    // s1.clear();

    // cout << s1.c_str() << endl;

    // if(s1.empty() == 1)
    // {
    //     cout << "yes" << endl;
    // }

    // using namespace std;

    // dew::String s1("hello world");

    // cout << s1.c_str() << endl;


}   


void test1()
{
    string s("hello world");
    cout << s.capacity() << endl;
    cout << s.size() << endl;
    //s.reserve(500);
    s.resize(15,'c');
    //cout << s.capacity() << endl;
    cout << s << endl;
    cout << s.size() << endl;
    cout << s.capacity() << endl;
    //cout << s.size() << endl;
}

int main()
{
    test();
    //test1();
    return 0;
}



